package com.neu.his.fmeditem.service;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import com.neu.his.fmeditem.entity.Fmeditem;
import com.neu.his.fmeditem.entity.FmeditemVo;

@Service
public interface FmeditemService {
	/*1.对非药品收费项目的添加
	 * @see 对非药品收费项目数据进行添加
	 * @param Fmeditem fmeditem实体类对象
	 * @return boolean	是否添加成功
	 * */
	public boolean addFmeditem(Fmeditem fmeditem);
	/*2.对非药品收费项目删除单个
	 * @see 对非药品收费项目数据进行单个删除
	 * @param id 科室的id
	 * @return boolean 是否删除成功
	 * */
	public boolean deleteFmeditem(@Param("id") int id);
	/*3.对非药品收费项目的删除通过多个id
	 * @see 对非药品收费项目数据进行批量删除
	 * @param Integter [] ids  多个id
	 * @return boolean 是否删除成功
	 * */
	public boolean delFmeditemByIds(@Param("ids") Integer[] ids);
	/*4. 对非药品收费项的修改
	 * @see 对非药品收费项数据修改
	 * @param Fmeditem fmeditem实体类对象
	 * @return boolean 是否修改成功
	 * */
	public boolean updateFmeditem(Fmeditem fmeditem);
	/*5.带条件的分页查询
	 * @see 对非药品收费项数据进行条件分页查询   支持根据项目名和项目类型进行搜索
	 * @param page 表示当前页	limit表示每页数量	
	 * 			查询关键字:	itemName 表示项目名	recordType 表示项目类型
	 * @return List<FmeditemVo>分页查询数据
	 * */
	public List<FmeditemVo> pageFmeditem(@Param("page") int page,@Param("limit") int limit,@Param("itemName") String itemName,@Param("recordType") int recordType);
	/*6.查询总数依照分页
	 * @see 对非药品收费项数据总数进行显示 ,用于分页  根据项目名和项目类型进行搜索
	 * @param 查询关键字:	itemName 表示项目名	recordType 表示项目类型
	 * @return int	总数量用于分页
	 * */
	public int pageFmeditemTotal(@Param("itemName") String itemName,@Param("recordType") int recordType);
	/*7.excel导出科室信息
	 * @see 接收excel进行导出科室信息
	 * @param HttpServletResponse response	相应信息
	 * */
	public void exportExcel(HttpServletResponse response);
	/*8.excel导入科室信息
	 * @see 接收excel对数据库批量添加数据库
	 * @param MultipartFile file	接收的excel文件
	 * */
	public void importExcel(MultipartFile file);
	
}
